#include "stm32f10x.h" // Device header
#include "Delay.h"
#include "OLED.h"
void  Key_Init (void)
{
	GPIO_InitTypeDef GPIO_Initstructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE) ;
	
	 GPIO_Initstructure.GPIO_Mode = GPIO_Mode_IPU;
	  GPIO_Initstructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_1|GPIO_Pin_4;
	GPIO_Initstructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB,&GPIO_Initstructure);

	
}  

uint8_t Key_Function (void )
{
	
  static  uint8_t Key_Num = 0;
if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11) == 0)
{  
	   Delay_ms (20);                                      //按键消抖
	while(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11) == 0)  //按键消抖加等待松手
     Delay_ms (20);                                    
	   Key_Num += 1;                                        //给按键响应变量加1
}
	
  return Key_Num%4;
}
 

uint8_t Key_Function2 (void )
{
	static  uint8_t Key_Num = 0;
	if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11) == 0)    //此处将按键当成是上拉电阻
{  
	   Delay_ms (20);                                      //按键消抖
	while(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11) == 0)  //按键消抖加等待松手
     Delay_ms (20);                                    
	   Key_Num += 1;                                        //给按键响应变量加1
}
	
  return Key_Num%3;                                       //1，2时分别计数
}


uint8_t Key_Function3 (void )
{
	
   uint8_t Key_Num3 = 0;
if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1) == 0)
{  
	   Delay_ms (20);                                      //按键消抖
	while(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1) == 0)  //按键消抖加等待松手
     Delay_ms (20);
	   Key_Num3 = 1;
}
	
  return Key_Num3;
}
